package com.xiu.travel.enums;

import com.baomidou.mybatisplus.annotation.EnumValue;
import com.baomidou.mybatisplus.annotation.IEnum;
import com.fasterxml.jackson.annotation.JsonValue;
import lombok.AllArgsConstructor;

/**
 * @author 2023
 */

@AllArgsConstructor
public enum OrderRefundStatusEnum implements IEnum<Integer>
{
    /**
     * 成功退款
     */
    SUCCESS(0,"成功退款"),
    /**
     * 退款关闭
     */
    CLOSED(1,"退款关闭"),
    /**
     * 退款处理中
     */
    PROCESSING(2,"退款处理中"),
    /**
     * 退款异常
     */
    ABNORMAL(3,"退款异常"),

    /**
     * 退款申请已提交
     */
    REFUND_APPLICATION_SUBMITTED(10001,"退款申请已提交"),
    /**
     * 退款申请被受理
     */
    REFUND_APPLICATION_ACCEPTED(10002,"退款申请被受理"),
    /**
     * 安排配送员取货
     */
    ARRANGE_PICKUP(10003,"安排配送员取货"),
    /**
     * 配送员赶来中
     */
    DISPATCHER_ON_THE_WAY(10004,"配送员赶来中"),
    /**
     * 配送员上门取货
     */
    PICKUP_BY_DISPATCHER(10005,"配送员上门取货"),
    /**
     * 退款申请审核已通过
     */
    REFUND_APPLICATION_APPROVED(10006,"退款申请审核已通过"),
    /**
     * 退款金额已交由微信处理
     */
    REFUND_AMOUNT_HANDLED_BY_WECHAT(10007,"退款金额已交由微信处理"),
    /**
     * 退款申请审核不通过
     */
    REFUND_APPLICATION_REJECTED(10008,"退款申请审核不通过"),
    /**
     * 退款申请再次提交
     */
    REFUND_REQUEST_IS_RESUBMITTED(10009,"退款申请再次提交"),
    ;
    @EnumValue
    @JsonValue
    private final Integer code;
    private final String status;

    public String getStatus() {
        return status;
    }
    @Override
    public Integer getValue()
    {
        return code;
    }
}